package com.example.weatherdemo.adapter;

import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentStatePagerAdapter;

import java.util.List;

/**
 * 当当前Fragment划走后，系统会将其内存回收，保证在一个页面只存在一个Fragment
 * 适用于页面比较复杂、交互比较多的情况
 */
public class MyFragmentStateVPAdapter extends FragmentStatePagerAdapter {

    private List<androidx.fragment.app.Fragment> mFragmentList;

    public MyFragmentStateVPAdapter(@NonNull FragmentManager fm, List<Fragment> fragmentList) {
        super(fm);
        this.mFragmentList = fragmentList;
    }

    /**
     * 获取Fragment
     *
     * @param position
     * @return
     */
    @NonNull
    @Override
    public androidx.fragment.app.Fragment getItem(int position) {
        return mFragmentList == null ? null : mFragmentList.get(position);
    }

    /**
     * 获取页数
     *
     * @return
     */
    @Override
    public int getCount() {
        return mFragmentList == null ? 0 : mFragmentList.size();
    }
}
